<html>
<head><meta charset="utf-8"><title>Restrict promotion to infallible operations lang-team#58 · t-lang/major changes · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/index.html">t-lang/major changes</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html">Restrict promotion to infallible operations lang-team#58</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="212224854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212224854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212224854">(Oct 04 2020 at 14:08)</a>:</h4>
<p>A new proposal has been announced: <a href="https://github.com/rust-lang/lang-team/issues/58">Restrict promotion to infallible operations #58</a>. It will be announced at the next meeting to try and draw attention to it, but usually MCPs are not discussed during triage meetings. If you think this would benefit from discussion amongst the team, consider proposing a design meeting.</p>



<a name="212728196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212728196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212728196">(Oct 08 2020 at 18:04)</a>:</h4>
<p>ping <span class="user-mention" data-user-id="116083">@pnkfelix</span> <span class="user-mention" data-user-id="125270">@scottmcm</span> and <span class="user-mention" data-user-id="256759">@boats</span> regarding <a href="https://github.com/rust-lang/lang-team/issues/58">lang-team#58</a> (restrict promotion to infallible operations)</p>



<a name="212728229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212728229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212728229">(Oct 08 2020 at 18:04)</a>:</h4>
<p>However, I do have a question. <span class="user-mention" data-user-id="120791">@RalfJ</span> did you plan to do an RFC as part of this work?</p>



<a name="212728326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212728326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212728326">(Oct 08 2020 at 18:05)</a>:</h4>
<p>I feel like it's...probably not the kind of thing where an RFC would be really <em>helpful</em> in terms of user feedback, but I do think it's important to describe and motivate the rules (and to document them)</p>



<a name="212728342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212728342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212728342">(Oct 08 2020 at 18:05)</a>:</h4>
<p>an RFC serves those purposes, but there are other means to the end</p>



<a name="212728403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212728403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212728403">(Oct 08 2020 at 18:06)</a>:</h4>
<p>in particular it seems like part of this is going to be transitioning and guiding people to use expressions like <code>const { x/y }</code> explicitly</p>



<a name="212817199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212817199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212817199">(Oct 09 2020 at 12:19)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/243200-t-lang.2Fmajor-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358/near/212728229">said</a>:</p>
<blockquote>
<p>However, I do have a question. <span class="user-mention silent" data-user-id="120791">RalfJ</span> did you plan to do an RFC as part of this work?</p>
</blockquote>
<p>IIRC I asked about this and you suggested I do an MCP (or whatever it is called for t-lang) instead</p>



<a name="212817242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212817242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212817242">(Oct 09 2020 at 12:20)</a>:</h4>
<p>but if it takes an RFC to make this change I can write one :) (cannot say when I'll find the time though)</p>



<a name="212817372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212817372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212817372">(Oct 09 2020 at 12:21)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/243200-t-lang.2Fmajor-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358/near/212728403">said</a>:</p>
<blockquote>
<p>in particular it seems like part of this is going to be transitioning and guiding people to use expressions like <code>const { x/y }</code> explicitly</p>
</blockquote>
<p>when they want <code>'static</code> references. yes. less magic, more explicit. :)</p>



<a name="212872469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212872469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212872469">(Oct 09 2020 at 20:33)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> well the idea of these things is that sometimes they are like "pre-authorization" to write an RFC</p>



<a name="212872502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212872502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212872502">(Oct 09 2020 at 20:33)</a>:</h4>
<p>basically us saying "yeah that's an RFC we'd like to see"</p>



<a name="212872509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212872509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212872509">(Oct 09 2020 at 20:33)</a>:</h4>
<p>personally I am very much in favor of going this direction</p>



<a name="212912468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212912468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212912468">(Oct 10 2020 at 11:49)</a>:</h4>
<p>oh I see. not entirely what I expected but sure.^^</p>



<a name="212955778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212955778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212955778">(Oct 11 2020 at 08:40)</a>:</h4>
<p>FWIW, <a href="https://github.com/rust-lang/rust/pull/77526">https://github.com/rust-lang/rust/pull/77526</a> came back with zero crater regressions :)</p>



<a name="212981338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212981338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212981338">(Oct 11 2020 at 20:57)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="212981379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212981379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212981379">(Oct 11 2020 at 20:58)</a>:</h4>
<p>Do you think that change is purely lang, or lang and compiler? Either way, happy to add the requisite tags and FCP.</p>



<a name="212981390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212981390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212981390">(Oct 11 2020 at 20:58)</a>:</h4>
<p>If it's something that'd normally go in with just an r= and not a full compiler FCP, then I'm happy to just poll it from a lang perspective.</p>



<a name="212982906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/212982906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#212982906">(Oct 11 2020 at 21:41)</a>:</h4>
<p>not sure what kind of change would involve t-compiler, but this seems mostly like a t-lang thing to me. that's also what we did <a href="https://github.com/rust-lang/rust/pull/75502">the last time</a> a similar change came up.</p>



<a name="213002099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/243200-t-lang/major%20changes/topic/Restrict%20promotion%20to%20infallible%20operations%20lang-team%2358/near/213002099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/243200-t-lang/major-changes/topic/Restrict.20promotion.20to.20infallible.20operations.20lang-team.2358.html#213002099">(Oct 12 2020 at 06:33)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> Proposed lang FCP then.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>